Zurück in Elementare ProgrammentwicklungWeiter in Elementare ProgrammentwicklungDatenfelder Zusammenfassung ?

Das Thema Datentypen unterscheidet einfache und zusammengesetzte Datentypen, die sich aus Werten einfacher Datentypen zusammensetzen.

Aufgabe Sind die folgenden Datentypen einfach oder zusammengesetzt?

Wir betrachten im folgenden die zusammengesetzten Datentypen Satz und Datenfeld.

Satz

Ein Satz (engl. record) ist eine Struktur aus Werten verschiedener Datentypen. Der folgende Mitarbeitersatz setzt sich zum Beispiel aus verschiedenen nummerischen und symbolischen Elementen zusammen:

137221
Fritz Meier
Bahnhofstrasse 25
9000 St. Gallen
071/223 90 85
01.8.98

In VBA lautet die entsprechende Vereinbarung:

Type Mitarbeiter
  Personalnummer As Integer
  Name As String
  Strasse As String
  Ort As String
  Telefon As String
  Einstellungsdatum As Date
End Type

Datenfeld

Sätze, insbesondere die Zeilen einer Datenbanktabelle, sind meist heterogen zusammengesetzt und befinden sich auf einem Externspeicher. Im folgenden beschäftigen wir uns nur mit einer homogen zusammengesetzten Datenstruktur des Internspeichers, dem Datenfeld (engl. array). Ein Datenfeld besteht aus beliebig vielen Werten des gleichen Datentyps. Das folgende Datenfeld enthält zum Beispiel die Punktetotale von fünf Fussballmannschaften:

22

16

28

6

32

Oft setzt man die Elemente einer Datenfeldkonstante zwischen eckige Klammern: [22, 16, 28, 6, 32].

Eine Datenfeldvariable besteht aus Speicherzellen des gleichen Datentyps, auf die unter dem gleichen Namen, aber verschiedenen Indizes - oben zum Beispiel die Zahlen 1 bis 5 - zugegriffen werden kann. Meist ändert sich die Grösse eines Datenfelds zur Laufzeit nicht. Wir vereinbaren deshalb eine untere und eine obere Grenze, welche den Laufbereich des Index begrenzen:

Name Läufer(1) Läufer(2) Läufer(3) Läufer(4)

Läufer(5)

Inhalt “Anna” “Bruno” “Dora” “Franz” “Karin”

Name der Datenfeldvariable: Läufer
Grösse (Dimension): 5
Untergrenze: 1
Obergrenze: 5

Name und Index kennzeichnen jedes Element eindeutig. Läufer(2) bezeichnet zum Beispiel den zweiten Läufer. Jede Zelle gehört zum gleichen Datentyp. Der Array Läufer darf zum Beispiel nur Zeichenketten (engl. strings) aufnehmen. Ein Datenfeld hat folgende Vorteile:

Das Datenfeld Läufer wird wie folgt vereinbart:

Dim Läufer ( 1 To 5 ) As String

Allgemeiner lautet die Syntax einer Datenfeldvereinbarung:

Dim <Datenfeldname> ( <Untergrenze> To <Obergrenze> ) As <Datentyp>

Statt Dim kann auch Private oder Public stehen (vgl. Fallbeispiel Gewinnverteilung). Der Zugriff auf ein Datenfeld ist lesend oder schreibend. Die folgende Anweisung liest zum Beispiel den Inhalt der fünften Zelle von Läufer und weist ihn der Variablen Tmp zu:

Dim Tmp As String
Tmp = Läufer(5)

Ebenso einfach ist die Fortschreibung eines Zellinhalts. Die folgende Anweisung ändert den Inhalt der fünften Zelle durch “Pauline”:

Läufer(5) = "Pauline"

Die Indizierung erlaubt die einfache Zusammenfassung mehrerer Lese- oder Schreiboperationen: Die folgende Zählschleife weist zum Beispiel allen Zellen den Inhalt “Fritz” zu:

Dim Läufer(1 To 5) As String
Dim i As Integer

For i = 1 To 5
  Läufer(i) = “Fritz”
Next i

Die Zählschleife eignet sich besonders gut für das Durchlaufen eines Datenfelds. Verglichen mit der bereits eingeführten Schleife mit Ausführungsbedingung (While) erspart sie der Programmiererin die explizite Initialisierung, Prüfung und Erhöhung einer Indexvariable. Die Syntax der Zählschleife lässt sich wie folgt verallgemeinern:

Dim Index As Integer

For
Index = <Untergrenze> To <Obergrenze>
    <Anweisungen>
Next